/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package co.umb.MAS.Models.DAOs;

import co.umb.MAS.Models.ConnectionDB;
import co.umb.MAS.Models.PersonaModel;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Alexander
 */
public class PersonaDAO {

    private ConnectionDB cn;

    public PersonaDAO() {
        cn = new ConnectionDB();
    }
    
    public boolean insertarPaciente(PersonaModel p) {
        boolean flag = false;
        try {
            
            int inserto = 0;
            String query = "insert into paciente "
                    + "values "
                    + "(nextval('persona_id_personae_seq'),"+ p.getTipoId()+"," + p.getId_genero()
                    + ",'"+p.getFecha_nacimiento().getDay()+ "/" + p.getFecha_nacimiento().getMonth() + "/" +p.getFecha_nacimiento().getYear()+"'"
                    + ",'" + p.getId_rh()+"','" + p.getNombre() + "','" + p.getApellido1() + "','" + p.getApellido2() + "'"
                    + "')";
            
            
           
            //cn.setState(cn.getCnn().createStatement());
            inserto = cn.getCnn().prepareStatement(query).executeUpdate();
            flag = true;
        } catch (SQLException ex) {
            Logger.getLogger(ConnectionDB.class.getName()).log(Level.SEVERE, null, ex);
            ex.printStackTrace();
        }
        return flag;
    }

    public ArrayList<PersonaModel> consultarTodosPacientes() {
        ResultSet res;
        ArrayList<PersonaModel> pacientes = new ArrayList<>();
        try {
            String sql = "select * from MASDB.Paciente";
            cn.setState(cn.getCnn().createStatement());
            res = cn.getState().executeQuery(sql);
            while (res.next()) {
                PersonaModel pm = new PersonaModel();
                pm.setIdPersona(res.getInt(1));
                pm.setNombre(res.getString(2));
                pm.setApellido1(res.getString(3));
                pm.setApellido2(res.getString(4));
                pm.setTipoId(res.getInt(4));
                pm.setNumeroID(res.getString(6));
                pm.setId_genero(res.getInt(7));
//                pm.setDireccion(res.getString(8));
//                pm.setCiudad(res.getString(9));
//                pm.setBarrio(res.getString(10));
                pm.setFecha_nacimiento(res.getDate(8));
//                pm.setNumeroTelefonico(res.getString(12));
//                pm.setNumeroMovil(res.getString(13));
//                pm.setEmail(res.getString(14));
                pm.setId_rh(Integer.parseInt(res.getString(9)));
                
                pacientes.add(pm);
            }
            return pacientes;
        } catch (SQLException ex) {
            Logger.getLogger(PersonaDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        return new ArrayList<PersonaModel>();
    }

}
